﻿using NUnit.Framework;

namespace InvoiceInvoker.Logic.Tests
{
	[TestFixture]
	public class NumberToWordsConverterTests
	{
		[Test]
		public void ConvertsNumbersOf4Digits()
		{
			string result = NumberToWordsConverter.Convert(1234);
			Assert.AreEqual("jeden tysiąc dwieście trzydzieści cztery", result);
		}

		[Test]
		public void ConvertsNumbersOf5Digits()
		{
			string result = NumberToWordsConverter.Convert(12345);
			Assert.AreEqual("dwanaście tysięcy trzysta czterdzieści pięć", result);
		}

		[Test]
		public void ConvertsNumbersOf6Digits()
		{
			string result = NumberToWordsConverter.Convert(123456);
			Assert.AreEqual("sto dwadzieścia trzy tysiące czterysta pięćdziesiąt sześć", result);
		}

		[Test]
		public void ConvertsNumbersWithZeros()
		{
			string result = NumberToWordsConverter.Convert(120003);
			Assert.AreEqual("sto dwadzieścia tysięcy trzy", result);
		}

		[Test]
		public void ConvertsMoney()
		{
			string result = NumberToWordsConverter.ConvertMoney(12.93M, "PLN");
			Assert.AreEqual("dwanaście PLN 93/100", result);
		}
	}
}
